﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ch04
{
    class Class14
    {
        static void Main(string[] args)
        {
            Console.Write("行数：");
            int row = int.Parse(Console.ReadLine());
            //输出上半部正等腰三角形
            for (int i = 1; i < row; i++)// i=1 row是5
            {
                //先输出空格
                for (int j = 0; j < row - i; j++)//j=0  
                {
                    Console.Write(" ");
                }
                //再输出星星
                for (int j = 1; j < 2 * i; j++)
                {
                    if (j==1||j== 2 * i - 1)
                    {
                        Console.Write("*");
                    }
                    else
                    {
                        Console.Write(" ");
                    }
                }
                //换行
                Console.WriteLine();
            }
            Console.ReadLine();
            ////输出下半部倒等腰三角形
            //for (int i = 1; i <= row; i++)
            //{
            //    //输出空格(正的直角三角形)
            //    for (int j = 1; j < i; j++)
            //    {
            //        Console.Write(" ");
            //    }
            //    //输出星星(规律：10-2*i-1)
            //    for (int j = 0; j < 2 * row - (2 * i - 1); j++)
            //    {
            //        if (j==0 || j== 2 * row - 2 * i)
            //        {
            //            Console.Write("*");
            //        }
            //        else
            //        {
            //            Console.Write(" ");
            //        }
            //    }
            //    //换行
            //    Console.WriteLine();
            //}

            /*
            //菱形
            Console.Write("行数：");
            int row = int.Parse(Console.ReadLine());
            //输出上半部正等腰三角形
            for (int i = 1; i < row; i++)
            {
                //先输出空格
                for (int j = 0; j < row - i; j++)
                {
                    Console.Write(" ");
                }
                //再输出星星
                for (int j = 0; j < 2 * i - 1; j++)
                {
                    Console.Write("*");
                }
                //换行
                Console.WriteLine();
            }
            //输出下半部倒等腰三角形
            for (int i = 1; i <= row; i++)
            {
                //输出空格(正的直角三角形)
                for (int j = 1; j < i; j++)
                {
                    Console.Write(" ");
                }
                //输出星星(规律：10-2*i-1)
                for (int j = 0; j < 2 * row - (2 * i - 1); j++)
                {
                    Console.Write("*");
                }
                //换行
                Console.WriteLine();
            }
            */


            /*
            //倒等腰三角形
            Console.Write("行数：");
            int row = int.Parse(Console.ReadLine());
            
            //外循环一次，输出一行
            for (int i = 1; i <= row; i++)
            {
                //输出空格(正的直角三角形)
                for (int j = 1; j < i; j++)
                {
                    Console.Write(" ");
                }
                //输出星星(规律：10-2*i-1)
                for (int j = 0; j < 2*row-(2*i-1); j++)
                {
                    Console.Write("*");
                }
                //换行
                Console.WriteLine();
            }
            */

            /*
            第i行     N个星星        
              1       1     2*i-1   9      10-1    10-2*i-1
              2       3             7      10-3    2*总行数-2*i-1
              3       5             5      10-5
            */

            /*
            //正等腰三角形
            //外循环一次，输出一行
            for (int i = 1; i <= 5; i++)
            {
                //先输出空格
                for (int j = 0; j < 5 - i; j++)
                {
                    Console.Write(" ");
                }

                //再输出星星
                for (int j = 0; j < 2*i-1; j++)
                {
                    Console.Write("*");
                }
                //换行
                Console.WriteLine();
            }
            */

            /*
            //倒三角
            //外循环一次，输出一行
            for (int i = 5; i > 0; i--)
            {
                //内循环一次，输出一个星星   
                for (int j = 0; j < i; j++)
                {
                    Console.Write("*");
                }
                Console.WriteLine();
            }

            for (int i = 0; i < 5; i++)
            {
                //内循环一次，输出一个星星   
                for (int j = 0; j < 5-i; j++)
                {
                    Console.Write("*");
                }
                Console.WriteLine();
            }
            */

            /*
            Console.WriteLine("AAAA*");
            Console.WriteLine("AAA***");
            Console.WriteLine("AA*****");
            Console.WriteLine("A*******");
            Console.WriteLine("*********");
            */

            /*
            //直角三角形
            for (int i = 0; i < 10; i++)
            {
                for (int j = 0; j <= i; j++)
                {
                    Console.Write("*");
                }
                Console.WriteLine();
            }
            */

            /*
            //矩形
            for (int i = 0; i < 10; i++)
            {
                for (int j = 0; j < 20; j++)
                {
                    Console.Write("*");
                }
                Console.WriteLine();
            }
            */

            /*
            //掏空矩形
            for (int i = 1; i <= 10; i++)
            {
                for (int j = 1; j <= 20; j++)
                {
                    if (i==1 || i==10 || j==1 || j==20)
                    {
                        Console.Write("*");
                    }
                    else
                    {
                        Console.Write(" ");
                    }
                }
                Console.WriteLine();
            }
            */

            Console.WriteLine("\n");
        }
    }
}
